package com.xxg.curd;

import javax.sql.DataSource;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;

/**
 * 全局配置
 */
public interface CurdConfig {

    /**
     * 数据源
     * @return
     */
    DataSource getDataSource();

    /**
     * 表前缀
     * @return
     */
    default String getTablePrefix() { return "";}

    /**
     * 字段前缀
     * @return
     */
   default String getFieldFreFix() { return "";};

    SQL getSQL();

    Function<ResultSet, List<Map<String, Object>>> getResultFunction();

   SQLMap getSQLMap();

    List<Class> getMapAnnotation();
}
